home *** CD-ROM | disk | FTP | other *** search
- /* $Xorg: Printstr.h,v 1.3 2000/08/18 04:05:44 coskrey Exp $ */
- /******************************************************************************
- ******************************************************************************
- **
- ** File: Printstr.h
- **
- ** Description: Definitions needed by the server and library, but
- ** not clients.
- **
- ** Print.h for server, library and clients.
- **
- ******************************************************************************
- **
- ** (c) Copyright 1996 Hewlett-Packard Company
- ** (c) Copyright 1996 International Business Machines Corp.
- ** (c) Copyright 1996 Sun Microsystems, Inc.
- ** (c) Copyright 1996 Novell, Inc.
- ** (c) Copyright 1996 Digital Equipment Corp.
- ** (c) Copyright 1996 Fujitsu Limited
- ** (c) Copyright 1996 Hitachi, Ltd.
- **
- ** Permission is hereby granted, free of charge, to any person obtaining a copy
- ** of this software and associated documentation files (the "Software"), to deal
- ** in the Software without restriction, including without limitation the rights
- ** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- ** copies of the Software, and to permit persons to whom the Software is
- ** furnished to do so, subject to the following conditions:
- **
- ** The above copyright notice and this permission notice shall be included in
- ** all copies or substantial portions of the Software.
- **
- ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- ** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- ** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- ** COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
- ** IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- ** CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- **
- ** Except as contained in this notice, the names of the copyright holders shall
- ** not be used in advertising or otherwise to promote the sale, use or other
- ** dealings in this Software without prior written authorization from said
- ** copyright holders.
- **
- ******************************************************************************
- *****************************************************************************/
- /* $XFree86: xc/include/extensions/Printstr.h,v 1.5 2001/08/01 00:44:35 tsi Exp $ */
-
-
- #ifndef _XpPrintstr_H_
- #define _XpPrintstr_H_
-
- /*
- * NEED_EVENTS and NEED_REPLIES are hacks to limit the linker symbol-table
- * size. When function prototypes are needed from Print.h, this sets up
- * a cascading dependency on Printstr.h and eventually Xproto.h to provide
- * the event and reply struct definitions.
- */
- #ifndef NEED_EVENTS
- #define NEED_EVENTS
- #endif /* NEED_EVENTS */
-
- #define NEED_REPLIES
-
- #include <X11/Xproto.h>
- #ifndef _XP_PRINT_SERVER_
- #include <X11/Xlib.h>
- #endif /* _XP_PRINT_SERVER_ */
-
- /*
- * Pull in other definitions. Print.h will hide some things if we're
- * doing server side work.
- */
- #include <X11/extensions/Print.h>
-
- #include <X11/Xfuncproto.h>
-
- _XFUNCPROTOBEGIN
-
- /******************************************************************************
- *
- * Protocol requests constants and alignment values
- *
- * Note: Xlib macro's expect X_ABC where ABC is the name of the
- * protocol request.
- */
- #define X_PrintQueryVersion 0
- #define X_PrintGetPrinterList 1
- #define X_PrintCreateContext 2
- #define X_PrintSetContext 3
- #define X_PrintGetContext 4
- #define X_PrintDestroyContext 5
- #define X_PrintGetContextScreen 6
- #define X_PrintStartJob 7
- #define X_PrintEndJob 8
- #define X_PrintStartDoc 9
- #define X_PrintEndDoc 10
- #define X_PrintPutDocumentData 11
- #define X_PrintGetDocumentData 12
- #define X_PrintStartPage 13
- #define X_PrintEndPage 14
- #define X_PrintSelectInput 15
- #define X_PrintInputSelected 16
- #define X_PrintGetAttributes 17
- #define X_PrintSetAttributes 18
- #define X_PrintGetOneAttribute 19
- #define X_PrintRehashPrinterList 20
- #define X_PrintGetPageDimensions 21
- #define X_PrintQueryScreens 22
- #define X_PrintSetImageResolution 23
- #define X_PrintGetImageResolution 24
-
- /********************************************************************
- *
- * Protocol data types
- */
- #define PCONTEXT CARD32
- #define WINDOW CARD32
- #define DRAWABLE CARD32
- #define BITMASK CARD32
-
- /******************************************************************************
- *
- * Event wire struct definitions
- *
- * Note: Xlib macro's expect xABC struct names and sz_xABC size
- * constants where ABC is the name of the protocol request.
- */
-
-
- /*********************************************************************
- *
- * Events.
- *
- * See Print.h for the protocol "type" values.
- */
- typedef struct _xPrintPrintEvent {
- BYTE type; /* XPPrintNotify + extEntry->eventBase */
- BYTE detail; /* XPStartJobNotify, XPEndJobNotify,
- XPStartDocNotify, XPEndDocNotify,
- XPStartPageNotify, XPEndPageNotify */
- CARD16 sequenceNumber B16;
- PCONTEXT printContext B32; /* print context */
- BOOL cancel; /* canceled flag */
- CARD8 pad1; /* rest is unused */
- CARD16 pad2 B16;
- CARD32 pad3 B32;
- CARD32 pad4 B32;
- CARD32 pad5 B32;
- CARD32 pad6 B32;
- CARD32 pad7 B32;
- } xPrintPrintEvent;
- #define sz_xPrintPrintEvent 32;
-
- typedef struct _xPrintAttributeEvent {
- BYTE type; /* XPAttributeNotify + extEntry->eventBase */
- BYTE detail; /* XPJobAttr, XPDocAttr, XPPageAttr,
- XPPrinterAttr, XPSpoolerAttr,
- XPMediumAttr, XPServerAttr */
- CARD16 sequenceNumber B16;
- PCONTEXT printContext B32; /* print context */
- CARD32 pad1 B32;
- CARD32 pad2 B32;
- CARD32 pad3 B32;
- CARD32 pad4 B32;
- CARD32 pad5 B32;
- CARD32 pad6 B32;
- } xPrintAttributeEvent;
- #define sz_xPrintAttributeEvent 32;
-
-
- /*********************************************************************
- *
- * Requests
- */
- typedef struct _PrintQueryVersion {
- CARD8 reqType; /* always PrintReqCode */
- CARD8 printReqType; /* always X_PrintQueryVersion */
- CARD16 length B16;
- } xPrintQueryVersionReq;
- #define sz_xPrintQueryVersionReq 4
-
- typedef struct {
- BYTE type; /* X_Reply */
- CARD8 unused; /* not used */
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- CARD16 majorVersion B16; /* major version of Xp protocol */
- CARD16 minorVersion B16; /* minor version of Xp protocol */
- CARD32 pad1 B32;
- CARD32 pad2 B32;
- CARD32 pad3 B32;
- CARD32 pad4 B32;
- CARD32 pad5 B32;
- } xPrintQueryVersionReply;
- #define sz_xPrintQueryVersionReply 32
-
-
- typedef struct _PrintGetPrinterList {
- CARD8 reqType; /* always PrintReqCode */
- CARD8 printReqType; /* always X_PrintGetPrinterList */
- CARD16 length B16;
- CARD32 printerNameLen B32; /* length of printer name */
- CARD32 localeLen B32; /* length of locale string */
-
- /* variable portion *****************************************
- STRING8 printerName; * printer name *
- BYTE pad(printerNameLen) * unused *
- STRING8 locale; * locale *
- BYTE pad(localeLen) * unused *
- ************************************************************/
- } xPrintGetPrinterListReq;
- #define sz_xPrintGetPrinterListReq 12
-
- typedef struct {
- BYTE type; /* X_Reply */
- CARD8 unused; /* not used */
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- CARD32 listCount B32; /* of PRINTER recs below */
- CARD32 pad1 B32;
- CARD32 pad2 B32;
- CARD32 pad3 B32;
- CARD32 pad4 B32;
- CARD32 pad5 B32;
-
- /* variable portion *****************************************
- CARD32 nameLen B32; * length of name in bytes *
- STRING8 name; * name *
- BYTE pad(nameLen) * unused *
-
- CARD32 descLen B32; * length of desc in bytes *
- STRING8 desc; * localized description *
- BYTE pad(descLen) * unused *
- ************************************************************/
- } xPrintGetPrinterListReply;
- #define sz_xPrintGetPrinterListReply 32
-
-
- typedef struct _PrintRehashPrinterList {
- CARD8 reqType; /* always PrintReqCode */
- CARD8 printReqType; /* always X_PrintRehashPrinterList */
- CARD16 length B16;
- } xPrintRehashPrinterListReq;
- #define sz_xPrintRehashPrinterListReq 4
-
-
- typedef struct _PrintCreateContext {
- CARD8 reqType; /* always PrintReqCode */
- CARD8 printReqType; /* always X_PrintInitSetContext */
- CARD16 length B16;
- CARD32 contextID B32; /* ID for context */
- CARD32 printerNameLen B32; /* length of printerName in bytes */
- CARD32 localeLen B32; /* length of locale in bytes */
-
- /* variable portion *****************************************
- STRING8 printerName * printer name *
- BYTE pad(printerNameLen) * unused *
- STRING8 locale * locale *
- BYTE pad(locale) * unused *
- ************************************************************/
- } xPrintCreateContextReq;
- #define sz_xPrintCreateContextReq 16
-
-
- typedef struct _PrintSetContext {
- CARD8 reqType; /* always PrintReqCode */
- CARD8 printReqType; /* always X_PrintSetContext */
- CARD16 length B16;
- PCONTEXT printContext B32; /* print context */
- } xPrintSetContextReq;
- #define sz_xPrintSetContextReq 8
-
-
- typedef struct _PrintGetContext {
- CARD8 reqType; /* always PrintReqCode */
- CARD8 printReqType; /* always X_PrintGetContext */
- CARD16 length B16;
- } xPrintGetContextReq;
- #define sz_xPrintGetContextReq 4
-
- typedef struct {
- BYTE type; /* X_Reply */
- CARD8 unused; /* not used */
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- PCONTEXT printContext B32; /* print context */
- CARD32 pad1 B32;
- CARD32 pad2 B32;
- CARD32 pad3 B32;
- CARD32 pad4 B32;
- CARD32 pad5 B32;
- } xPrintGetContextReply;
- #define sz_xPrintGetContextReply 32
-
-
- typedef struct _PrintDestroyContext {
- CARD8 reqType; /* always PrintReqCode */
- CARD8 printReqType; /* always X_PrintDestroyContext */
- CARD16 length B16;
- PCONTEXT printContext B32; /* print context */
- } xPrintDestroyContextReq;
- #define sz_xPrintDestroyContextReq 8
-
-
- typedef struct _PrintGetContextScreen {
- CARD8 reqType; /* always PrintReqCode */
- CARD8 printReqType; /* always X_PrintGetContextScreen */
- CARD16 length B16;
- PCONTEXT printContext B32; /* print context */
- } xPrintGetContextScreenReq;
- #define sz_xPrintGetContextScreenReq 8
-
- typedef struct {
- BYTE type; /* X_Reply */
- CARD8 unused; /* not used */
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- WINDOW rootWindow; /* screenPtr represented as rootWin */
- CARD32 pad1 B32;
- CARD32 pad2 B32;
- CARD32 pad3 B32;
- CARD32 pad4 B32;
- CARD32 pad5 B32;
- } xPrintGetContextScreenReply;
- #define sz_xPrintGetContextScreenReply 32
-
-
- typedef struct _PrintStartJob {
- CARD8 reqType; /* always PrintReqCode */
- CARD8 printReqType; /* always X_PrintStartJob */
- CARD16 length B16;
- CARD8 saveData; /* save data boolean */
- CARD8 pad1;
- CARD16 pad2 B16;
- } xPrintStartJobReq;
- #define sz_xPrintStartJobReq 8
-
- typedef struct _PrintEndJob {
- CARD8 reqType; /* always PrintReqCode */
- CARD8 printReqType; /* always X_PrintEndJob */
- CARD16 length B16;
- BOOL cancel; /* cancel boolean */
- CARD8 pad1;
- CARD16 pad2 B16;
- } xPrintEndJobReq;
- #define sz_xPrintEndJobReq 8
-
-
- typedef struct _PrintStartDoc {
- CARD8 reqType; /* always PrintReqCode */
- CARD8 printReqType; /* always X_PrintStartDoc */
- CARD16 length B16;
- CARD8 type; /* type for document */
- CARD8 pad1;
- CARD16 pad2 B16;
- } xPrintStartDocReq;
- #define sz_xPrintStartDocReq 8
-
- typedef struct _PrintEndDoc {
- CARD8 reqType; /* always PrintReqCode */
- CARD8 printReqType; /* always X_PrintEndDoc */
- CARD16 length B16;
- BOOL cancel; /* cancel boolean */
- CARD8 pad1;
- CARD16 pad2 B16;
- } xPrintEndDocReq;
- #define sz_xPrintEndDocReq 8
-
-
- typedef struct _PrintPutDocumentData {
- CARD8 reqType; /* always PrintReqCode */
- CARD8 printReqType; /* always X_PrintPutDocumentData */
- CARD16 length B16;
- DRAWABLE drawable B32; /* target drawable */
- CARD32 len_data B32; /* big len in bytes */
- CARD16 len_fmt; /* len in bytes */
- CARD16 len_options; /* len in bytes */
-
- /* variable portion *****************************************
- LISTofBYTE data; * data *
- BYTE pad(len_data) * unused *
- STRING8 doc_fmt; * ISO compliant desc of data type *
- BYTE pad(len_fmt) * unused *
- STRING8 options; * additional device-dependent desc *
- BYTE pad(len_options) * unused *
- ************************************************************/
- } xPrintPutDocumentDataReq;
- #define sz_xPrintPutDocumentDataReq 16
-
-
- typedef struct _PrintGetDocumentData {
- CARD8 reqType; /* always PrintReqCode */
- CARD8 printReqType; /* always X_PrintGetDocumentData */
- CARD16 length B16;
- PCONTEXT printContext B32; /* print context */
- CARD32 maxBufferSize B32; /* maximum buffer size requested */
- } xPrintGetDocumentDataReq;
- #define sz_xPrintGetDocumentDataReq 12
-
- typedef struct {
- BYTE type; /* X_Reply */
- CARD8 unused; /* not used */
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- CARD32 statusCode B32; /* status code for reply */
- CARD32 finishedFlag B32; /* is this the last reply */
- CARD32 dataLen B32; /* data length */
- CARD32 pad1 B32;
- CARD32 pad2 B32;
- CARD32 pad3 B32;
-
- /* variable portion *****************************************
- LISTofBYTE data; * data *
- BYTE pad(count) * unused *
- ************************************************************/
- } xPrintGetDocumentDataReply;
- #define sz_xPrintGetDocumentDataReply 32
-
-
- typedef struct _PrintStartPage {
- CARD8 reqType; /* always PrintReqCode */
- CARD8 printReqType; /* always X_PrintStartPage */
- CARD16 length B16;
- WINDOW window B32; /* window */
- } xPrintStartPageReq;
- #define sz_xPrintStartPageReq 8
-
- typedef struct _PrintEndPage {
- CARD8 reqType; /* always PrintReqCode */
- CARD8 printReqType; /* always X_PrintEndPage */
- CARD16 length B16;
- BOOL cancel; /* cancel boolean */
- CARD8 pad1;
- CARD16 pad2 B16;
- } xPrintEndPageReq;
- #define sz_xPrintEndPageReq 8
-
-
- typedef struct _PrintSelectInput {
- CARD8 reqType; /* always PrintReqCode */
- CARD8 printReqType; /* always X_PrintSelectInput */
- CARD16 length B16;
- PCONTEXT printContext B32; /* print context */
- BITMASK eventMask B32;
- } xPrintSelectInputReq;
- #define sz_xPrintSelectInputReq 12
-
-
- typedef struct _PrintInputSelected {
- CARD8 reqType; /* always PrintReqCode */
- CARD8 printReqType; /* always X_PrintInputSelected */
- CARD16 length B16;
- PCONTEXT printContext B32; /* print context */
- } xPrintInputSelectedReq;
- #define sz_xPrintInputSelectedReq 8
-
- typedef struct {
- BYTE type; /* X_Reply */
- CARD8 unused; /* not used */
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- BITMASK eventMask B32; /* your event mask */
- BITMASK allEventsMask B32; /* all event mask */
- CARD32 pad1 B32;
- CARD32 pad2 B32;
- CARD32 pad3 B32;
- CARD32 pad4 B32;
- } xPrintInputSelectedReply;
- #define sz_xPrintInputSelectedReply 32
-
- typedef struct _PrintGetAttributes {
- CARD8 reqType; /* always PrintReqCode */
- CARD8 printReqType; /* always X_PrintGetAttributes */
- CARD16 length B16;
- PCONTEXT printContext B32; /* print context */
- CARD8 type; /* type */
- CARD8 pad1; /* unused */
- CARD16 pad2 B16; /* unused */
- } xPrintGetAttributesReq;
- #define sz_xPrintGetAttributesReq 12
-
- typedef struct {
- BYTE type; /* X_Reply */
- CARD8 unused; /* not used */
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- CARD32 stringLen B32; /* length of xrm db string */
- CARD32 pad1 B32;
- CARD32 pad2 B32;
- CARD32 pad3 B32;
- CARD32 pad4 B32;
- CARD32 pad5 B32;
-
- /* variable portion *****************************************
- STRING8 string; * xrm db as a string *
- BYTE pad(stringLen) * unused *
- ************************************************************/
- } xPrintGetAttributesReply;
- #define sz_xPrintGetAttributesReply 32
-
-
- typedef struct _PrintSetAttributes {
- CARD8 reqType; /* always PrintReqCode */
- CARD8 printReqType; /* always X_PrintSetAttributes */
- CARD16 length B16;
- PCONTEXT printContext B32; /* print context */
- CARD32 stringLen B32; /* length of xrm db string */
- CARD8 type; /* type */
- CARD8 rule; /* replacement rule */
- CARD16 pad1 B16; /* unused */
-
- /* variable portion *****************************************
- STRING8 string; * xrm db as a string *
- BYTE pad(stringLen) * unused *
- ************************************************************/
- } xPrintSetAttributesReq;
- #define sz_xPrintSetAttributesReq 16
-
-
- typedef struct _PrintGetOneAttribute {
- CARD8 reqType; /* always PrintReqCode */
- CARD8 printReqType; /* always X_PrintGetOneAttribute */
- CARD16 length B16;
- PCONTEXT printContext B32; /* print context */
- CARD32 nameLen; /* length of name string */
- CARD8 type; /* type */
- CARD8 pad1; /* unused */
- CARD16 pad2 B16; /* unused */
-
- /* variable portion *****************************************
- STRING8 name; * name as a string *
- BYTE pad(name) * unused *
- ************************************************************/
- } xPrintGetOneAttributeReq;
- #define sz_xPrintGetOneAttributeReq 16
-
- typedef struct {
- BYTE type; /* X_Reply */
- CARD8 unused; /* not used */
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- CARD32 valueLen B32; /* length of value string */
- CARD32 pad1 B32;
- CARD32 pad2 B32;
- CARD32 pad3 B32;
- CARD32 pad4 B32;
- CARD32 pad5 B32;
-
- /* variable portion *****************************************
- STRING8 value; * value as a string *
- BYTE pad(value) * unused *
- ************************************************************/
- } xPrintGetOneAttributeReply;
- #define sz_xPrintGetOneAttributeReply 32
-
-
- typedef struct _PrintGetPageDimensions {
- CARD8 reqType; /* always PrintReqCode */
- CARD8 printReqType; /* always X_PrintGetPageDimensions */
- CARD16 length B16;
- PCONTEXT printContext B32; /* print context */
- } xPrintGetPageDimensionsReq;
- #define sz_xPrintGetPageDimensionsReq 8
-
- typedef struct {
- BYTE type; /* X_Reply */
- CARD8 unused; /* not used */
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- CARD16 width; /* total pixel width */
- CARD16 height; /* total pixel height */
- CARD16 rx; /* reproducable x pixel offset */
- CARD16 ry; /* reproducable y pixel offset */
- CARD16 rwidth; /* reproducable x pixel width */
- CARD16 rheight; /* reproducable y pixel width */
- CARD32 pad1 B32;
- CARD32 pad2 B32;
- CARD32 pad3 B32;
- } xPrintGetPageDimensionsReply;
- #define sz_xPrintGetPageDimensionsReply 32
-
-
- typedef struct _PrintQueryScreens {
- CARD8 reqType; /* always PrintReqCode */
- CARD8 printReqType; /* always X_PrintQueryScreens */
- CARD16 length B16;
- } xPrintQueryScreensReq;
- #define sz_xPrintQueryScreensReq 4
-
- typedef struct {
- BYTE type; /* X_Reply */
- CARD8 unused; /* not used */
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- CARD32 listCount; /* number of screens following */
- CARD32 pad1 B32;
- CARD32 pad2 B32;
- CARD32 pad3 B32;
- CARD32 pad4 B32;
- CARD32 pad5 B32;
-
- /* variable portion *****************************************
- WINDOW rootWindow; * root window of screen *
- ************************************************************/
- } xPrintQueryScreensReply;
- #define sz_xPrintQueryScreensReply 32
-
- typedef struct _PrintSetImageResolution {
- CARD8 reqType; /* always PrintReqCode */
- CARD8 printReqType; /* always X_PrintSetImageResolution */
- CARD16 length B16;
- PCONTEXT printContext B32; /* print context */
- CARD16 imageRes B16; /* image resolution */
- CARD16 pad1 B16;
- } xPrintSetImageResolutionReq;
- #define sz_xPrintSetImageResolutionReq 12
-
- typedef struct {
- BYTE type; /* X_Reply */
- BOOL status; /* accepted or not */
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- CARD16 prevRes B16; /* previous resolution */
- CARD16 pad1 B32;
- CARD32 pad2 B32;
- CARD32 pad3 B32;
- CARD32 pad4 B32;
- CARD32 pad5 B32;
- CARD32 pad6 B32;
- } xPrintSetImageResolutionReply;
- #define sz_xPrintSetImageResolutionReply 32
-
- typedef struct _PrintGetImageResolution {
- CARD8 reqType; /* always PrintReqCode */
- CARD8 printReqType; /* always X_PrintGetImageResolution */
- CARD16 length B16;
- PCONTEXT printContext B32; /* print context */
- } xPrintGetImageResolutionReq;
- #define sz_xPrintGetImageResolutionReq 8
-
- typedef struct {
- BYTE type; /* X_Reply */
- CARD8 unused;
- CARD16 sequenceNumber B16;
- CARD32 length B32;
- CARD16 imageRes B16; /* image resolution */
- CARD16 pad1 B32;
- CARD32 pad2 B32;
- CARD32 pad3 B32;
- CARD32 pad4 B32;
- CARD32 pad5 B32;
- CARD32 pad6 B32;
- } xPrintGetImageResolutionReply;
- #define sz_xPrintGetImageResolutionReply 32
-
- #ifndef _XP_PRINT_SERVER_
- /***********************************************************************
- *
- * Library-only definitions.
- */
- extern XPHinterProc _xp_hinter_proc;
- extern char *_xp_hinter_desc;
- extern int _xp_hinter_init;
-
- #else /* _XP_PRINT_SERVER_ */
-
- /***********************************************************************
- *
- * Server-only definitions shared between the extension and DDX layers.
- *
- */
-
- /*
- * Internal return code used to indicate that the requesting
- * client has been suspended.
- */
- #define Suspended 84
-
- struct _XpContext;
-
- extern void XpRegisterPrinterScreen(
- ScreenPtr pScreen,
- int (*CreateContext)(struct _XpContext *));
-
- typedef struct _xpprintFuncs {
- int (*StartJob)(
- struct _XpContext * /* pContext */,
- Bool /* sendClientData */,
- ClientPtr /* client */);
- int (*EndJob)(struct _XpContext *, int);
- int (*StartDoc)(
- struct _XpContext * /* pContext */,
- XPDocumentType /* type */);
- int (*EndDoc)(struct _XpContext *, int);
- int (*StartPage)(
- struct _XpContext * /* pContext */,
- WindowPtr /* pWin */);
- int (*EndPage)(
- struct _XpContext * /* pContext */,
- WindowPtr /* pWin */);
- int (*PutDocumentData)(
- struct _XpContext * /* pContext */,
- DrawablePtr /* pDraw */,
- char * /* pData */,
- int /* len_data */,
- char * /* pDoc_fmt */,
- int /* len_fmt */,
- char * /* pOptions */,
- int /* len_options */,
- ClientPtr /* client */);
- int (*GetDocumentData)(
- struct _XpContext * /* pContext */,
- ClientPtr /* client */,
- int /* maxBufferSize */);
- int (*DestroyContext)(
- struct _XpContext *); /* pContext */
- char *(*GetAttributes)(
- struct _XpContext *,
- XPAttributes /* pool */);
- char *(*GetOneAttribute)(
- struct _XpContext * /* pContext */,
- XPAttributes /* pool */,
- char * /* attrs */);
- int (*SetAttributes)(
- struct _XpContext * /* pContext */,
- XPAttributes /* pool */,
- char * /* attrs */);
- int (*AugmentAttributes)(
- struct _XpContext * /* pContext */,
- XPAttributes /* pool */,
- char * /* attrs */);
- int (*GetMediumDimensions)(
- struct _XpContext * /* pPrintContext */,
- CARD16 * /* pWidth */,
- CARD16 * /* pHeight */);
- int (*GetReproducibleArea)(
- struct _XpContext * /* pPrintContext */,
- xRectangle * /* pRect */);
- int (*SetImageResolution)(
- struct _XpContext * /* pPrintContext */,
- int /* imageRes */,
- Bool * /* pStatus */);
- } XpDriverFuncs, *XpDriverFuncsPtr;
-
- /*
- * Each print context is represented by one of the following structs
- * associated with a resource ID of type RTcontext . A pointer to
- * the context is placed in the Xp extension's devPrivates
- * element in each client * which establishes a context via
- * either initContext or setContext.
- * The context pointer is also placed in the struct indicated by the
- * RTpage resource associated with each StartPage'd window.
- */
- typedef struct _XpContext {
- XID contextID;
- char *printerName;
- int screenNum; /* screen containing the printer */
- struct _XpClient *clientHead; /* list of clients */
- CARD32 state;
- VisualID pageWin;
- DevUnion *devPrivates;
- XpDriverFuncs funcs;
- ClientPtr clientSlept;
- int imageRes;
- } XpContextRec, *XpContextPtr;
-
- #include "fontstruct.h" /* FontResolutionPtr */
-
- extern Bool XpAllocateContextPrivate(int, unsigned);
- extern FontResolutionPtr XpGetClientResolutions(ClientPtr, int *);
- extern XpContextPtr XpContextOfClient(ClientPtr);
- extern XpContextPtr XpGetPrintContext(ClientPtr);
- extern int XpAllocateContextPrivateIndex(void);
- extern int XpRehashPrinterList(void);
- extern void XpSetFontResFunc(ClientPtr);
- extern void XpUnsetFontResFunc(ClientPtr);
- extern void XpRegisterInitFunc(ScreenPtr, char *, int (*)(struct _XpContext *));
-
- #endif /* _XP_PRINT_SERVER_ */
-
- _XFUNCPROTOEND
-
- #endif /* _XpPrintstr_H_ */
-